/**
 * 
 */
package com.hz.winnie.demands.service;

import java.util.List;

import com.hz.winnie.demands.pojo.Demand;

/**
 * @description 需求服务接口
 * @author winnie
 * @date 2011-4-6
 * @version 1.0
 */
public interface DemandsService {

    /**
     * 根据条件取得需求列表
     * 
     * @param demands
     * @return
     */
    List<Demand> listDemandsByCondition(Demand demand);

    /**
     * 添加需求
     * 
     * @param demands
     * @return
     */
    int addDemand(Demand demand);

    /**
     * 更新需求
     * 
     * @param demands
     */
    boolean updateDemand(Demand demand);

    /**
     * 取得首页消息数量
     * 
     * @param userId
     * @return
     */
    String countIndexMsg(int userId);

    /**
     * 根据条件取得需求列表数量
     * 
     * @param demand
     * @return
     */
    int countDemandsByCondition(Demand demand);

    /**
     * 通过ID来取得需求
     * 
     * @param demandId
     * @return
     */
    Demand getDemandById(String demandId);

    /**
     * 删除
     * 
     * @param demandId
     */
    void delete(String demandId);

    /**
     * 是否有同名
     * 
     * @param title
     * @param demandId
     * @return
     */
    boolean isSameName(String title, String demandId);

    /**
     * 标记为已读
     * 
     * @param demandId
     */
    void markReaded(String demandId, String userId);
}
